-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closely Linked Artists + annotated reference lists #580
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
towerofnix
added
scope: data processing
thing: artists
scope: data format - YAML
thing: groups
type: new feature
scope: data format - thing objects
type: groundworks
Changes are foundational to further issues & code work
labels
Nov 17, 2024
This commit also implements raiseResolvedReferenceList across the compositions which have a notFoundMode input. This causes no semantic changes at all, except that notFoundMode is no longer ignored(!!) in withResolvedContribs.
Basic implementation only here, nothing custom for particular annotations for example.
Because raiseResolvedReferenceList is the last step in compositions which use it - it always raises the desired conclusion - it doesn't actually need to use raiseOutputAbove.
towerofnix
force-pushed
the
group-artists
branch
from
November 17, 2024 17:40
334fc84
to
e6aa957
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
scope: data format - thing objects
scope: data format - YAML
scope: data processing
thing: artists
thing: groups
type: groundworks
Changes are foundational to further issues & code work
type: new feature
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds a new field to groups,
Closely Linked Artists
, which shows at the top of the group's info page:A backlink to the group also shows on the corresponding artist pages:
Closely Linked Artists is an annotated reference list—a new basic data structure. The "alias" annotation gets a custom presentation, following along #550 and #568.
The implementation for annotated reference lists mostly stems from annotated artwork reference lists (no PR), which are now coded in terms annotated reference lists. This PR however introduces reverse annotated reference lists. It also factors out some code common in forward reference lists, and introduces related handy data utilities.
inputNotFoundMode
: Now a utility function (alainputWikiData
), instead of hard-coded for each use.raiseResolvedReferenceList
: Now a composition of its own, factoring out behavior related to applying a specifiednotFoundMode
. This is sufficiently generic for use in all forward reference lists (and similar data). It's also a bit nicer of an implementation compared to the existing code inwithResolvedReferenceList
.filter
input, which (of course) may be computed separately from theresults
input where relevant.performAvailabilityCheck
: Now a standalone utility function. Only accessible as a helper in#composite/control-flow
.withAvailabilityFilter
: New control-flow compositional step. This is just likewithResultOfAvailabilityCheck
(which underlies many control flow steps), but operates on a data list. It's typically more useful as a compositional step, combining nicely withwithFilteredList
and anything that takes a filter as an input—includingraiseResolvedReferenceList
.referenceListInputDescriptions
andreferenceListUpdateDescription
: Now utility functions, bundled together in areference-list-helpers.js
helper. These are closely related and responsible together for conveniently building the customupdate
descriptions that reference lists use.#composite/wiki-properties
), notwithResolved...
compositions (#composite/wiki-data
).annotatedReferenceList
andwithResolvedAnnotatedReferenceList
: Like normal reference lists, but with anannotation
property for each item. At the moment the reference itself is always specified in areference
property, and exposed (transformed) inthing
.referencedArtworkList
, which is now in terms of this, and still includes the relevantfind.mixed
/combineWikiDataArrays
stuff.reverseAnnotatedReferenceList
andwithReverseAnnotatedReferenceList
: The usual. Spiritually these are similar to reverse contribution lists, because they're reversing based on a property, but they are also responsible for flipping the directionality of the reference:thing
points forward in a forward list, backward in a reverse list.withStretchedList
: New generic data composition that underlies the flipping behavior in reverse annotated reference lists. It repeats each item in a list by a corresponding length.